@function assign-inputs($inputs, $pseudo: false) {
  $list: ();

  @each $input in $inputs {
    $input: unquote($input);
    $input: if($pseudo, $input + ":" + $pseudo, $input);
    $list: append($list, $input, comma);
  }

  @return $list;
}

$text-inputs-list: 'input[type="color"]',
                   'input[type="date"]',
                   'input[type="datetime"]',
                   'input[type="datetime-local"]',
                   'input[type="email"]',
                   'input[type="month"]',
                   'input[type="number"]',
                   'input[type="password"]',
                   'input[type="search"]',
                   'input[type="tel"]',
                   'input[type="text"]',
                   'input[type="time"]',
                   'input[type="url"]',
                   'input[type="week"]',
                   'textarea';

$all-text-inputs:        assign-inputs($text-inputs-list);
$all-text-inputs-active: assign-inputs($text-inputs-list, 'active');
$all-text-inputs-focus:  assign-inputs($text-inputs-list, 'focus');
$all-text-inputs-hover:  assign-inputs($text-inputs-list, 'hover');
